註:本文同步更新在Notion!(數學公式會比較好閱讀)
昨天也提到超出線性能解決問題時,會需要使用到多層感知機(MLP)來處理這類問題,所以今天來介紹介紹一下ଘ(੭ˊᵕˋ)੭* ੈ✩‧₊˚
在FNN中,多層感知機(Multilayer Perceptron, MLP)能夠解決更為複雜的非線性問題。MLP 通過引入隱藏層和非線性激活函數,並使用倒傳遞演算法(Backpropagation)來優化網路的權重。
多層感知機由以下部分組成:
每一層的神經元與下一層的所有神經元連接,每個連接具有權重,並且每一層都有偏置項。MLP 的目標是學習輸入與輸出之間的映射。
倒傳遞演算法(Backpropagation)是一種有效的權重更新方法,通過將誤差從輸出層反向傳播至隱藏層和輸入層來優化模型的權重。
為了衡量模型的預測結果與真實結果的差距,我們使用損失函數。常見的損失函數有均方誤差(MSE):
前向傳播(Forward Propagation):
計算輸入數據經過每層的輸出,直到最終得到模型的預測結果。
計算誤差(Error Calculation):
反向傳播(Backward Propagation):
從輸出層開始,將誤差反向傳播到每一層。對於第 lll 層:
這裡,誤差被遞推計算至輸入層。
權重更新(Weight Update):
使用梯度下降法更新權重和偏置:
倒傳遞演算法可以用矩陣表示來加速運算,特別適合大規模神經網路。
對於每一層,我們可以將輸入數據和權重矩陣以批量形式進行計算:
使用批量梯度下降法更新權重和偏置:
這樣的矩陣形式能夠有效地加速神經網路的訓練過程,特別是在大數據集和多層網絡中,極大提高了計算效率。
通過倒傳遞演算法,我們能夠計算每一層的誤差,並使用梯度下降法來更新權重,使得模型的預測誤差不斷減小。倒傳遞演算法的矩陣形式使得運算更加高效,特別是在大規模數據集的情況下。